﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.Threading.Tasks;
using System.IO;
using System.Threading;

namespace IGolovkine.AoA
{
    public class Channel<M> : IChannel<M> 
    {
        private readonly ISubject<M> _input;
        private readonly ISubject<M> _output;

        public Channel(ISubject<M> input, ISubject<M> output)
        {
            _input = input;
            _output = output;
        }

        public IObservable<M> Output
        {
            get { return _output; }
        }

        public IObserver<M> Input
        {
            get { return _input; }
        }
    }
}  
